package com.finder.im.server.user.service;

import com.finder.im.common.ResponseVO;
import com.finder.im.server.user.dao.ImUserDataEntity;
import com.finder.im.server.user.model.req.DeleteUserReq;
import com.finder.im.server.user.model.req.GetUserInfoReq;
import com.finder.im.server.user.model.req.ImportUserReq;
import com.finder.im.server.user.model.req.ModifyUserInfoReq;
import com.finder.im.server.user.model.resp.GetUserInfoResp;

public interface ImUserService {

    /**
     * 批量导入用户列表数据
     * @param req
     * @return
     */
    public ResponseVO importUser(ImportUserReq req);

    /**
     * 获取用户列表信息
     * @param req
     * @return
     */
    public ResponseVO<GetUserInfoResp> getUserInfo(GetUserInfoReq req);

    /**
     * 获取单一用户信息
     * @param userId
     * @param appId
     * @return
     */
    public ResponseVO<ImUserDataEntity> getSingleUserInfo(String userId , Integer appId);

    /**
     * 删除指定的用户列表
     * @param req
     * @return
     */
    public ResponseVO deleteUser(DeleteUserReq req);

    /**
     * 修改用户信息
     * @param req
     * @return
     */
    public ResponseVO modifyUserInfo(ModifyUserInfoReq req);
}
